# 任务详情
# 一只小青蛙在爬一个n阶楼梯，假如每次青蛙只能爬1个或者2个台阶，请问青蛙有多少种方法能爬到楼顶呢？

# 任务要求
# 1. 请将代码区的函数补充完整

# 2. 函数返回值为小于非负数的n的数量

# 3. 返回的是整数数据类型

# 测试用例
# 用例1

# 输入：2

# 输出：2

# 解释：有两种方法可以爬到楼顶

# 1 阶 + 1 阶

# 2 阶


# 用例2

# 输入：3

# 输出 ：3

# 解释：有三种方法可以爬到楼顶

# 1 阶 + 1 阶 + 1 阶

# 1 阶 + 2 阶

#  2 阶 + 1 阶
#  
#  # 1.运行或提交代码不需要自己编写测试用例，后台自动进行测试检查。
# 2.您编写代码的区域可以不限定在类或者函数体内，保证输入与输出符合任务要求即可。
# 3.点击“运行代码”按钮，可以查看程序设计是否正确，运行次数越多，任务得分越低。
# 4.点击“提交代码”按钮，系统将保存代码，并记录任务数据。
# 5.点击右上方“结束任务”按钮，系统将在后台计算任务得分，任务结束。
# -*- coding: utf-8 -*- 
class Solution:
    def climbStairs(self, n: int) -> int:
        # 从此处开始编写代码
        if n < 2:
            return n
        t1, t2 = 1, 2
        for i in range(3, n + 1):
            t1, t2 = t2, t1 + t2
        return t2

        # 代码编写结束


print(Solution.climbStairs(Solution, 2))
